package com.sunda.spmsoversea.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 海外仓交货单明细表
 * </p>
 *
 * @author Wayne
 * @since 2021-10-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("OVERSEA_DELIVERY_NOTE_DTL")
@ApiModel(value="OverseaDeliveryNoteDtl对象", description="海外仓交货单明细表")
public class OverseaDeliveryNoteDtl implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "交货单明细自增ID")
    @TableId(value = "AUTO_ID_DELIVERY_NOTE", type = IdType.AUTO)
    private Integer autoIdDeliveryNote;

    @ApiModelProperty(value = "交货单号")
    @TableField("SAP_DELIVERY_NOTE")
    private String sapDeliveryNote;

    @ApiModelProperty(value = "交货单行号")
    @TableField("SAP_DELIVERY_NOTE_ITEM")
    private String sapDeliveryNoteItem;

    @ApiModelProperty(value = "物料编号")
    @TableField("MATERIAL_NO")
    private String materialNo;

    @ApiModelProperty(value = "基本单位")
    @TableField("BASIC_UNIT")
    private String basicUnit;

    @ApiModelProperty(value = "销售单位")
    @TableField("UNIT_SALES")
    private String unitSales;

    @ApiModelProperty(value = "基本单位发货数量/海外应收基本单位数量")
    @TableField("RECEIVABLE_QTY_BASIC_UNIT")
    private Double receivableQtyBasicUnit;

    @ApiModelProperty(value = "销售单位发出的数量/海外应收销售单位数量")
    @TableField("RECEIVABLE_QTY_UNIT_SALES")
    private Double receivableQtyUnitSales;

    @ApiModelProperty(value = "实收基本单位数量")
    @TableField("ACTUAL_QTY_BASIC_UNIT")
    private Double actualQtyBasicUnit;

    @ApiModelProperty(value = "实收销售单位数量")
    @TableField("ACTUAL_QTY_UNIT_SALES")
    private Double actualQtyUnitSales;

    @ApiModelProperty(value = "参考单据的单据编号/公司间采购订单号")
    @TableField("PURCHASE_NO")
    private String purchaseNo;

    @ApiModelProperty(value = "参考项目的项目号/公司间采购订单行项目")
    @TableField("PURCHASE_NO_ITEM")
    private String purchaseNoItem;

    @ApiModelProperty(value = "SPMS备注信息")
    @TableField("REMARKS")
    private String remarks;

    @ApiModelProperty(value = "发货工厂")
    @TableField("WERKS_DELIVERY")
    private String werksDelivery;

    @ApiModelProperty(value = "发货库存地点")
    @TableField("WHS_LOCATION_CODE_DELIVERY")
    private String whsLocationCodeDelivery;

    @ApiModelProperty(value = "收货工厂")
    @TableField("WERKS_RECEIVE")
    private String werksReceive;

    @ApiModelProperty(value = "收货库存地点")
    @TableField("WHS_LOCATION_CODE_RECEIVE")
    private String whsLocationCodeReceive;

    @ApiModelProperty(value = "多收基本单位数量")
    @TableField("OVERCHARGED_QTY_BASIC_UNIT")
    private Double overchargedQtyBasicUnit;

    @ApiModelProperty(value = "多收销售单位数量")
    @TableField("OVERCHARGED_QTY_UNIT_SALES")
    private Double overchargedQtyUnitSales;

    @ApiModelProperty(value = "少收基本单位数量")
    @TableField("UNDERCHARGED_QTY_BASIC_UNIT")
    private Double underchargedQtyBasicUnit;

    @ApiModelProperty(value = "少收销售单位数量")
    @TableField("UNDERCHARGED_QTY_UNIT_SALES")
    private Double underchargedQtyUnitSales;

    @ApiModelProperty(value = "移动类型（库存管理）")
    @TableField("MOVEMENT_TYPE")
    private String movementType;

    @ApiModelProperty(value = "SAP交货单行备注")
    @TableField("SAP_REMARK")
    private String sapRemark;

    @ApiModelProperty(value = "色号批次")
    @TableField("COLOR_NO")
    private String colorNo;

    @ApiModelProperty(value = "数据状态(默认0能被SAP更新数据；1禁止更新数据；)")
    @TableField("DATA_STATUS")
    private String dataStatus;

    @ApiModelProperty(value = "数据版本号")
    @TableField("DATA_VERSION")
    private Integer dataVersion;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;


}
